1. Field of the Invention
This invention generally relates to electronic circuits, and more particularly to flip-flops, latches, and/or other forms of logic circuits as well as methods of controlling the same.
2. Description of the Related Art
Logic devices are important components of integrated circuits. They are used, for example, as registers for storing data and instructions as well as for performing logical operations on a variety of signals. Two common logic devices uses in microprocessor design are flip-flops and latches.
Flip-flops may be classified as static or dynamic. Dynamic flip-flops operate in two stages, namely a precharge stage followed by an evaluate stage. In the precharge stage, a capacitor is precharged to high. In the evaluate stage, its output is evaluated and if the actual output is low the capacitor discharges. Dynamic flip-flops have the advantage of speed, however they consume a significant amount of power and have circuit complexity. Static latches, on the other hand, consume less power, have a simpler design, and possess better noise immunity, clock skew and tolerance compared with dynamic flip-flops. However, they tend to be slower.
Static flip-flops may be classified into several types, one of which is referred to as a master-slave flip-flop. Master-Slave flip-flops include two identical, cascaded flip-flop stages with complementary clock inputs. The first stage is referred as the “master” and the second stage the “slave.” In a first portion of a clock cycle, the master is activated to receive a data input value. The slave is disabled during this time, maintaining its previous output value. In a second portion of a clock cycle, the master is disabled and the slave is activated. During this time, the slave receives the output of the master and this value is passed as the output of the flip-flop. General speaking, master-slave flip-flops have better race immunity and consume lesser power than edge-triggered and other types of flip-flops.
Latches are made from the same basic circuit as flip-flops. However, the two differ based on the manner in which they are activated. For example, a latch may be a level-triggered device while a flip-flop may be an edge-triggered based on the transitions of an input clock signal.
Improving efficiency of flip-flops, latches, and other forms of logic circuits is a primary concern for VLSI design engineers.